package com.banmao.mall.mapper;

import com.banmao.mall.model.bo.admin.goods.GoodsBO;
import com.banmao.mall.model.bo.admin.goods.GoodsListBO;
import com.banmao.mall.model.pojo.Goods;
import com.banmao.mall.model.vo.client.goods.InfoVO;
import com.banmao.mall.model.vo.client.index.GoodsVO;
import com.banmao.mall.model.vo.client.index.GrouponVO;
import com.banmao.mall.model.vo.client.index.HotGoodsVO;
import com.banmao.mall.model.vo.client.index.NewGoodsVO;

import java.util.List;

public interface GoodsMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(Goods record);

    int insertSelective(Goods record);

    Goods selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(Goods record);

    int updateByPrimaryKeyWithBLOBs(Goods record);

    int updateByPrimaryKey(Goods record);

    Integer selectTotalCount();

    List<NewGoodsVO> selectNewGoods();

    List<GrouponVO> selectByGroupon();

    List<HotGoodsVO> selectHotGoods();

    List<GoodsVO> selectFloorGoods(Integer categoryId);

    List<GoodsVO> selectGoodsByCategoryIDorBrandID(com.banmao.mall.model.bo.client.goods.GoodsListBO goodsListBO);

    InfoVO selectInfoByID(Integer goodsId);

    List<GoodsVO> selectRelatedByGoodsID(Integer goodsId);

    Integer goodsTotalNumOfDay(String date);

    List<com.banmao.mall.model.vo.admin.goods.GoodsVO> selectAll(GoodsListBO goodsListBO);

    int insertGoods(GoodsBO goods);

    com.banmao.mall.model.vo.admin.goods.GoodsVO selectByGoodsID(Integer goodsId);

    int updateGoodsByGoodsID(GoodsBO goods);

    int updateDeletedByID(Integer id);
}